在游戏场景中,通过暂停菜单退回到主菜单,再进入新的游戏场景,发现游戏会突然卡住

以下列出我出现的情况及解决方案

原因:

暂停菜单使得游戏里的时间流逝 Time.timeScale = 0,而在退回时没有及时调回

在每次加载主菜单时,输出 Time.timeScale 发现问题

解决方法:

不能只将 Time.timeScale 恢复为1,还要修改菜单的逻辑(GameIsPaused 影响游戏菜单的弹出)

正确的做法应该是调用 Resume(),再返回主菜单

public void ReturnToMain()
{
    SceneManager.LoadScene(0);
    Resume();
}

public void Resume()
{
    pauseMenuUI.SetActive(false);
    Time.timeScale = 1f;
    GameIsPaused = false;
}